Пользователи могут иметь права доступа по отношению к разным элементам: объектам, группам объектов, ресурсам и учетным записям, маршрутам и другим пользователям. В зависимости от имеющихся прав пользователь может видеть и предпринимать какие-то действия в отношении определенного элемента.
Чаще всего полный доступ к объекту (все права) имеют только те пользователи, которые осуществляют его настройку, а остальные пользователи имеют ограниченные права, достаточные для работы с объектом. Во избежание некорректного изменения настроек важно предоставлять пользователю только те права, которые ему действительно нужны.
Наблюдаемая проблема и метод ее решения
При повседневной работе права на объект зафиксированы в нужном виде и не меняются. Однако при изменении прав могут возникнуть трудности, или иногда права могут меняться без вашего участия, и в итоге имеющиеся настройки могут отличаться от ожидаемых. В данной статье будут рассмотрены стандартные проблемы такого рода. Выберите один из представленных ниже вариантов в соответствии с тем, какую ситуацию вы наблюдаете.
1. После сокращения прав пользователь все равно имеет более широкие права
Объект может входить в группу, в отношении которой у пользователя также имеются права. В таком случае пользователь будет обладать более широким перечнем прав из двух возможных.
Для исправления ситуации попробуйте исключить объект из группы или убрать права пользователя на группу, в которую входит объект. После внесения данных изменений задайте нужные права на объект еще раз.
2. При снятии всех прав на объект отображается ошибка и изменения не применяются
Наиболее вероятно, данный пользователь является создателем объекта. На данный момент забрать у создателя все права на созданный им элемент невозможно. При попытке сделать это будет отображаться ошибка с текстом «Нельзя забрать права доступа у создателя элемента».
Для исправления ситуации необходимо изменить создателя этого объекта. Для этого можно перенести объект в другую учетную запись. Объект должен находиться в учетной записи пользователя, который непосредственно использует этот объект.
Мы создали видео о применении инструмента Сменить учетную запись из интерфейса управления (CMS):
3. При расширении прав изменения не сохраняются
В Wialon используется следующий принцип иерархии: невозможно дать какому-либо пользователю больше прав на некий элемент, чем имеет создатель этого пользователя на тот же самый элемент. Если вы расширяете список прав, но изменения не сохраняются, это может означать, что у создателя пользователя недостаточно прав на объект.
Для исправления ситуации предоставьте более широкий список прав на объект пользователям, выше по иерархии. После — самому пользователю, которому было необходимо расширить права (то есть пройдите по всей ветке иерархии учетных записей сверху вниз).
4. Права меняются, хотя вы не вносите изменений
Для изменения прав доступа к объекту пользователь должен обладать правом Управление доступом к элементу в отношении этого объекта. Доступ к объекту может быть сразу у нескольких пользователей. Соответственно, несколько пользователей могут вносить изменения. Отследить изменения можно с помощью Журнала, который можно просмотреть на вкладке Сообщения или в отчете с помощью одноименной таблицы.
Для исправления ситуации проанализируйте Журнал и отключите возможность менять права доступа для тех пользователей, которые не должны этого делать.
5. Права меняются, хотя никто из пользователей не вносит изменений
Чаще всего такие изменения могут происходить с определенным равным периодом или при определенных условиях. В таком случае причиной является работа Заданий с типом Изменить доступ к объектам или Уведомлений со способом действия Изменить доступ к объектам или Изменить состав групп объектов.
Для исправления проверьте правильность настройки заданий и уведомлений (при необходимости их можно удалить или остановить).
6. Права меняются, хотя пользователи, задания и уведомления не делают этого
В Wialon реализована возможность изменять настройки элементов (в том числе менять права) посредством API-запросов. Такие запросы все равно выполняются от имени конкретного пользователя, при этом вход и выход из системы при помощи API-запроса в некоторое стороннее приложение логируется. Эту информацию можно отследить в свойствах пользователя на вкладке Журнал или в интерфейсе управления (CMS) на вкладке Пользователи в колонке Последний вход.
Для исправления ситуации проанализируйте логику работы стороннего приложения. Если в приложении используется токен пользователя, созданного специально для работы со сторонним приложением, то данному пользователю можно изменить список прав и отключить право Управление доступом к элементу, либо можно изменить флаги его токена. Если в приложении используется токен того же пользователя, что и для входа в интерфейс мониторинга, то нужно пересмотреть логику работы приложения, избавившись от изменения прав пользователей относительно объектов.
Екатерина Гриб,Инженер Customer Service
2021-11-08